Runtime

Chemin : VueProjet> double-clic sur Propriétés de projet> volet Propriétés

Propriété Description

Menu contextuel

Définissez les modalités d'affichage du menu contextuel dans le projet IHM.

retard = le menu contextuel apparaît en touchant/appuyant et maintenant pendant quelques secondes un espace vide de l'écran du runtime, ou via une action du Menu contextuel

action = le menu contextuel n'apparaît que via une action du Menu contextuel.

Voir "Actions widget" pour plus de détails.

Outil de développement

Active/désactive une série d'outils de débogage de runtime.

Signal sonore au contact

Activer le bipeur lorsqu’un widget est touché sur l'écran du périphérique IHM.

Widgets pris en charge :

  • boutons
  • zones réactives
  • aiguilles
  • champs
  • touches externes
  • Boîtes combinées
  • éléments de tableaux
  • éléments de la liste de contrôle
Durée du signal sonore 200 ms par défaut
Clavier

Permet d'utiliser les macros de clavier au runtime si on utilise des claviers externes.

Débogage JavaScript

Active le débogueur JavaScript au runtime pour le projet actuel.

Autoriser débogueur à distance JS

Active le débogueur distant JavaScript pour le projet actuel.

Débogage distant non pris en charge sur HMI Client.

Activation image base de données

Active un moteur utilisé par le runtime pour optimiser la performance du projet.

AVERTISSEMENT : Cette propriété ne doit être désactivée par l'assistance technique que dans un but de débogage, car cette opération pourrait diminuer la performance au runtime.

Rendu des polices CaractèresLibres

Passe à CaractèresLibres, le rendu de police utilisé par JMobile Studio et le runtime.

La principale raison d'utiliser le CaractèresLibres est que nous avons besoin du même moteur dans tous les périphériques pour éviter des rendus différents, en particulier si une optimisation statique est utilisée.

Retard des icônes de communication (ms)

Retard avant l'affichage de l'icône d'erreur de communication (par défaut 0 ms)

La valeur spéciale -1 est toujours désactivée

Démarrage rapide

Lorsque le démarrage rapide est activé et que l'interface utilisateur est démarrée avant le serveur en arrière-plan.

  • Par défaut : L'interface utilisateur est chargée une fois que le serveur en arrière-plan est prêt à être utilisé
  • IU rapide : L'interface utilisateur est chargée avant de charger le serveur en arrière-plan.
Démarrage rapide

Lorsque le démarrage rapide est activé, le périphérique IHM affichera l'écran d'accueil aussi rapidement que possible après la mise sous tension. Dans ce mode, seules les fonctions minimales nécessaires sont chargées avant le démarrage de l'interface utilisateur. Le chargement des protocoles, des événements, des tendances, des alarmes, des actions sont différés après le chargement de l'interface utilisateur.

Il y a deux drapeaux à définir :

Lorsque le démarrage rapide est activé et que l'interface utilisateur est démarrée avant le serveur en arrière-plan, l'événement Javascript project.onServerReady peut être utilisé pour synchroniser le serveur.

Exemple :

if (!project.serverIsReady) {
	// Set the callback to wait for server ready
	project.onServerReady = onServerReady;
} else {
	// Server is ready, call it now
	onServerReady();
}

function onServerReady()
{
	project.setTag("Tag1", 1);
	project.showMessage("Server is ready, tags can be used: " + project.getTag("Tag1") )
}

Il s'agit d'une fonctionnalité avancée disponible uniquement sur les plateformes Linux

Outils du développeur

Collection de fonctions de débogage au runtime qui peuvent être activées ou désactivées.

  1. Dans le volet Propriétés, définissez Outils de développement sur Vrai.
  2. Téléchargez le projet.
  3. Ouvrez le menu contextuel.
  4. Sélectionnez Outils de développement.

Liste des outils du développeur

Outil Description

Afficher/Masquer tout

Affiche une boîte de dialogue contenant des informations sur l'état du périphérique, telles que la charge de l'UC, l'utilisation de la mémoire et les queues d'événements.

Statistiques CPU

Affiche des informations sur le chargement du CPU. Voir "Statistiques CPU".

Statistiques mémoire

Affiche les informations sur la RAM du système. Une valeur négative indique que la mémoire libre diminue.

Queues d'événements

Affiche les informations sur les queues d'événements (taille, taille maximale atteinte, nombre d'événements traités, dernier temps de traitement et temps de traitement maximal). Les statistiques sur le minutage sont disponibles uniquement pour les queues non IU.

Résumé journal en temps réel

Affiche le temps de chargement de la page.

Intégrer la fenêtre

Permet d'intégrer la scène en cours de runtime ou de laisser la fenêtre d'outil de développement comme une fenêtre autonome (dialogue).

Réinitialiser les statistiques de queue

Réinitialise les informations statistiques sur les queues d'événements.

Désactiver le chien de garde

Désactive la fonction de chien de garde et évite que le système ne redémarre en cas de gel ou d'incident des services.

Ignorer les exceptions

Désactive la fonction de rapport d'incident, les exceptions ne sont pas sauvegardées dans la fenêtre de rapport d'incident.

Profilage

Mesure le temps passé pour charger/afficher la page active. Voir "Profilage"

Watchdog (Surveillance)

Cette fonction vous permet de désactiver l'horloge de surveillance. Ainsi, vous pouvez éviter que le système ne redémarre en cas d'incident en cours de runtime. Vous aurez donc le temps de sauvegarder le rapport d'incident ou de vérifier les informations sur l'état du système (par exemple, la mémoire disponible, la charge de l'UC, la taille des queues d'événements, etc.).

La boîte de dialogue de rapport d'incident s'affiche automatiquement lorsque le système gèle ou bloque, permettant aux utilisateurs de sauvegarder un fichier journal d'incident.

Important : Sauvegardez ce fichier pour le support technique.

Statistiques CPU

L'heure actuelle de la machine s'affiche sur la ligne supérieure, ainsi que le temps de service total du périphérique.

Les statistiques de l'UC sont collectées toutes les 2000 millisecondes. La période réelle et le traitement requis pour collecter et visualiser les statistiques sont également affichés. Au plus la période réelle s'éloigne de 2000 millisecondes, au plus la charge du système est importante. La consommation en fils de l'UC est listée en rapportant le nom du thread (s'il est disponible, le fil principal est marqué avec un *), l'ID du fil, la priorité du thread et le temps de l'UC passé durant la période de 2000 millisecondes, divisé en temps d'utilisateur et temps du noyau.

Profilage

Le profilage permet de vérifier le temps passé pour charger/afficher la page active. Le profilage démarre à partir du chargement de la page suivante et est actif pour le premier traçage de la page sur l'écran (la configuration est conservée).

Option de profilage Description
Activer journal en temps réel Activer la capture du journal en temps réel. Le minutage est affiché dans la fenêtre « Résumé du journal en temps réel ».
Sauvegarder journal en temps réel sous forme de fichier

Sauvegarde un rapport de détails du profil et le temps passé à charger un projet et ses pages dans un fichier timelog.txt. Ce fichier peut être exporté et partagé pour une analyse approfondie.

Important : L’exécution de cette fonction peut réduire la performance de modification de la page.

Temps de chargement superposition
Temps de rendu superposition

Cette vue permet d'afficher le temps passé sur les widgets individuellement et il est disponible uniquement pour les étapes de rendu et de chargement. Cette vue donne un aperçu immédiat d'où le temps est passé. Les zones en rouge représentent les zones critiques qui prennent le plus de temps. Les temps détaillés par widget sont visualisés par une fenêtre en infobulle . Dans le cas de widgets hors champ, certaines flèches permettent de naviguer vers ces zones et en les survolant, l'infobulle affichera le résumé de la zone.

Choisir la couleur de superposition

Choisissez la couleur de superposition à utiliser

Données du journal en temps réel

Données Description
Temps d'analyse Temps passé pour analyser la page en cours. Dépend de la complexité de la page et du nombre de widgets.
Temps de création gfx Temps passé pour afficher une image. Dépend principalement de la méthode OnLoad.
Temps d'affichage Temps passé pour afficher la page.
Temps de déchargement Temps passé à décharger la page, lorsque la page actuelle dépend d'une autre page.

Les temps sont fournis par deux : durée totale d'exécution/temps de l'UC. La durée totale d'exécution est le temps absolu requis par cette partie, qui peut être plus importante que le temps réel de l'UC requis car les fils de priorité plus haute sont aussi en cours d'exécution (pour les protocoles d'instance). La colonne d'heure de début se réfère à l'heure de début de chargement de la page. Elle peut être utilisée pour suivre le temps réel requis pour charger une page, car les temps partiels se réfèrent uniquement aux fonctions au temps le plus critique et n'incluent pas d'autres temps qui contribuent souvent au temps total de manière significative.

Par exemple, la durée totale d'exécution réelle requise pour charger une page est l'heure de début de l'affichage (qui est la dernière étape) + la durée totale d'exécution de l'affichage.

Rendu des polices CaractèresLibres

De nouveaux projets utilisent le moteur de polices CaractèresLibres par défaut. Les projets créés avec les anciennes versions de JMobile Studio pourrait utiliser un moteur de police plus ancien également après la conversion du projet pour éviter tout problème de compatibilité ascendante.

Basculez vers CaractèresLibres chaque fois que vous en avez la possibilité afin d'avoir un meilleur rendu de page.

Une fois que vous avez basculé vers le nouveau rendu de police, sauvegardez le projet et vérifiez que tous les textes s'affichent correctement dans toutes les pages de projet.

Problèmes de rendu de police

Si vous basculez un projet créé avec l'ancien moteur de police vers le moteur de police CaractèresLibres, il est possible que vous rencontriez les problèmes suivants :